#ifndef KCOMMENTPANEL_H
#define KCOMMENTPANEL_H

#include <QWidget>
#include "../screencapsdk_global.h"

namespace kdk
{

/**
 * @defgroup CommentsPanel
 */
class KCommentPanelPrivate;

/**
 * @brief 提供六种评论等级
 */
enum StarLevel
{
    LevelZero = 0,
    LevelOne,
    LevelTwo,
    LevelThree,
    LevelFour,
    LevelFive
};

/**
 * @brief 显示用户评论的详细信息
 */
class SCREENCAPSDK_EXPORT KCommentPanel : public QWidget
{
    Q_OBJECT

public:
    explicit KCommentPanel(QWidget *parent = nullptr);

    /**
     * @brief 设置评论用户头像
     */
    void setIcon(const QIcon&);

    /**
     * @brief 设置评论时间
     */
    void setTime(const QString&);

    /**
     * @brief 设置评论用户昵称
     */
    void setName(const QString&);

    /**
     * @brief 设置评论文本
     */
    void setText(const QString&);

    /**
     * @brief 设置等级
     * @param level
     */
    void setGrade(StarLevel level);

protected:
    void paintEvent(QPaintEvent* event) override;

private:
    Q_DECLARE_PRIVATE(KCommentPanel)
    KCommentPanelPrivate * const d_ptr;
};
}

#endif // KCOMMENTPANEL_H
